/*************************************************
* Title：TinyToolKit
* Author：Opportunity 
* Describe：加密解密算法的基类
* CreateTime：2020-06-23 10:04:40
* Version：1.0
* Modify Recorder：
*************************************************/

namespace TinyToolKit
{
    public abstract class EncryptDecryptBase 
    {
        /// <summary>
        /// 加密
        /// </summary>
        /// <param name="content">明文，没有经过加密的数据</param>
        /// <returns>密文，经加密函数处理后的数据</returns>
        public abstract string Encrypt(string content);
        
        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="content">密文</param>
        /// <returns>明文</returns>
        public abstract string Decrypt(string content);
        
        /// <summary>
        /// 加密
        /// </summary>
        /// <param name="content">明文，没有经过加密的数据</param>
        /// <returns>密文，经加密函数处理后的数据</returns>
        public abstract byte[] Encrypt(byte[] content);
        
        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="content">密文</param>
        /// <returns>明文</returns>
        public abstract byte[] Decrypt(byte[] content);
    }
}
